home *** CD-ROM | disk | FTP | other *** search
/ CICA 1995 August / CICA - The Ultimate Collection of Shareware for Windows (Disc 2) (August 1995).iso / disc2 / demo / vt220.exe / SETUP.MS_ / SETUP.bin
Text File  |  1995-02-23  |  7KB  |  252 lines

  1. '**************************************************************************
  2. '*                       PowerVT Setup
  3. '**************************************************************************
  4.  
  5. ''$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST LICENSE       = 301
  15. CONST EXITFAILURE   = 400
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST OPTIONS       = 800
  19. CONST APPHELP       = 900
  20. CONST BILLBOARD     = 5000
  21. CONST BADPATH       = 6400
  22.  
  23. ''Bitmap ID
  24. CONST LOGO = 1
  25.  
  26.  
  27. GLOBAL DEST$        ''Default destination directory.
  28. GLOBAL OPTCUR$      ''Option selection from option dialog.
  29.  
  30. DECLARE SUB Install
  31. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  32.  
  33. DECLARE FUNCTION Ctl3dAutoSubClass Lib "Ctl3d.dll" (hInst AS INTEGER) AS INTEGER
  34. DECLARE FUNCTION Ctl3dRegister Lib "Ctl3d.dll" (hInst AS INTEGER) AS INTEGER
  35. DECLARE FUNCTION Ctl3dUnRegister Lib "Ctl3d.dll" (hInst AS INTEGER) AS INTEGER
  36. DECLARE FUNCTION ShowWindow Lib "User" (hWnd AS INTEGER, nCmdShow AS INTEGER) AS INTEGER
  37. CONST SW_SHOWMAXIMIZED = 3
  38.  
  39.  
  40.  
  41. INIT:
  42.     suc% = ShowWindow(HWndFrame(), SW_SHOWMAXIMIZED) 
  43.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  44.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  45.  
  46.     ret% = Ctl3dRegister(HinstFrame())
  47.     ret% = Ctl3dAutoSubClass(HinstFrame())
  48.  
  49.     SetBitmap CUIDLL$, LOGO
  50.     SetTitle "PowerVT Setup"
  51.     SetAbout "PowerVT", "Version 1.04 Copyright ⌐ 1994 Dart Communications"
  52.     ret% = SetBeepingMode(1)
  53.  
  54.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  55.     IF szInf$ = "" THEN
  56.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  57.     END IF
  58.     ReadInfFile szInf$
  59.  
  60.     OPTCUR$ = "1"
  61.     DEST$ = "C:\PowerVT"
  62.  
  63. '$IFDEF DEBUG
  64.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  65.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  66.     IF IsDriveValid(WinDrive$) = 0 THEN
  67.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  68.         GOTO QUIT
  69.     END IF
  70. '$ENDIF ''DEBUG
  71.  
  72.  
  73. WELCOME:
  74.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  75.     IF sz$ = "CONTINUE" THEN
  76.         UIPop 1
  77.     ELSE
  78.         GOSUB ASKQUIT
  79.         GOTO WELCOME
  80.     END IF
  81.  
  82. GETPATH:
  83.     SetSymbolValue "EditTextIn", DEST$
  84.     SetSymbolValue "EditFocus", "END"
  85. GETPATHL1:
  86.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  87.     DEST$ = GetSymbolValue("EditTextOut")
  88.  
  89.     IF sz$ = "CONTINUE" THEN
  90.         IF IsDirWritable(DEST$) = 0 THEN
  91.             GOSUB BADPATH
  92.             GOTO GETPATHL1
  93.         END IF
  94.         UIPop 1
  95.     ELSEIF sz$ = "REACTIVATE" THEN
  96.         GOTO GETPATHL1
  97.     ELSEIF sz$ = "BACK" THEN
  98.         UIPop 1
  99.         GOTO WELCOME
  100.     ELSE
  101.         GOSUB ASKQUIT
  102.         GOTO GETPATH
  103.     END IF
  104.  
  105.  
  106. OPTION:
  107.     '' SetSymbolValue "RadioDefault", OPTCUR$
  108. OPTL1:
  109.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  110.     OPTCUR$ = GetSymbolValue("ButtonChecked")
  111.  
  112.     IF sz$ = "CONTINUE" THEN
  113.         UIPop(1)
  114.     ELSEIF sz$ = "REACTIVATE" THEN
  115.         GOTO OPTL1
  116.     ELSE
  117.         GOSUB ASKQUIT
  118.         GOTO OPTION
  119.     END IF
  120.  
  121.  
  122.     AddToBillboardList CUIDLL$, BILLBOARD, "FModelessDlgProc", 1
  123.     SetCopyGaugePosition 160, 170
  124.     
  125.     Install
  126.  
  127.  
  128.     IF OPTCUR$ = "2" THEN
  129.         i% = DoMsgBox("Be sure to modify your autoexec.bat file to include " + DEST$ + " in your path statement.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  130.     END IF
  131.  
  132.     
  133. QUIT:
  134.     ON ERROR GOTO ERRQUIT
  135.  
  136.     IF ERR = 0 THEN
  137.         dlg% = EXITSUCCESS
  138.     ELSEIF ERR = STFQUIT THEN
  139.         dlg% = EXITQUIT
  140.     ELSE
  141.         dlg% = EXITFAILURE
  142.     END IF
  143. QUITL1:
  144.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  145.     IF sz$ = "REACTIVATE" THEN
  146.         GOTO QUITL1
  147.     END IF
  148.     UIPop 1
  149.  
  150.     ret% = Ctl3dUnRegister(HinstFrame())
  151.     
  152.     END
  153.  
  154. ERRQUIT:
  155.     i% = DoMsgBox("Setup sources were corrupted, call (315) 655-1024!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  156.  
  157.     ret% = Ctl3dUnRegister(HinstFrame())
  158.  
  159.     END
  160.  
  161.  
  162.  
  163. BADPATH:
  164.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  165.     IF sz$ = "REACTIVATE" THEN
  166.         GOTO BADPATH
  167.     END IF
  168.     UIPop 1
  169.     RETURN
  170.  
  171.  
  172.  
  173. ASKQUIT:
  174.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  175.  
  176.     IF sz$ = "EXIT" THEN
  177.         UIPopAll
  178.         ERROR STFQUIT
  179.     ELSEIF sz$ = "REACTIVATE" THEN
  180.         GOTO ASKQUIT
  181.     ELSE
  182.         UIPop 1
  183.     END IF
  184.     RETURN
  185.  
  186.  
  187.  
  188. '**
  189. '** Purpose:
  190. '**     Builds the copy list and performs all installation operations.
  191. '** Arguments:
  192. '**     none.
  193. '** Returns:
  194. '**     none.
  195. '*************************************************************************
  196. SUB Install STATIC
  197.     
  198.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  199.     CreateDir DEST$, cmoNone
  200.  
  201.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  202.     WriteToLogFile ""
  203.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  204.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  205.     WriteToLogFile ""
  206.     WriteToLogFile "May have had to create the directory: " + DEST$
  207.     WriteToLogFile ""
  208.  
  209.     SELECT CASE OPTCUR$
  210.     CASE "1"
  211.         AddSectionFilesToCopyList "binFiles", SrcDir$, GetWindowsSysDir()
  212.     CASE "2"
  213.         AddSectionFilesToCopyList "binFiles", SrcDir$, DEST$
  214.     END SELECT
  215.     AddSectionFilesToCopyList "powervtFiles", SrcDir$, DEST$
  216.     CopyFilesInCopyList
  217.  
  218.     CreateProgmanGroup "PowerVT Demo", "", cmoNone
  219.     ShowProgmanGroup  "PowerVT Demo", 1, cmoNone
  220.     CreateProgmanItem "PowerVT Demo", "Demo License", MakePath(DEST$,"DEMO.WRI"), "", cmoOverwrite
  221.     CreateProgmanItem "PowerVT Demo", "PowerVT", MakePath(DEST$,"powervtd.exe"), "", cmoOverwrite
  222.     CreateProgmanItem "PowerVT Demo", "PowerVT Help", "WINHELP.EXE " + MakePath(DEST$,"POWERVT.HLP"), "", cmoOverwrite 
  223.     CreateProgmanItem "PowerVT Demo", "Quick Start", "WINHELP.EXE " + MakePath(DEST$,"CUECARDS.HLP"), "", cmoOverwrite 
  224.     CreateProgmanItem "PowerVT Demo", "Read Me", MakePath(DEST$,"README.WRI"), "", cmoOverwrite
  225.  
  226.     CloseLogFile
  227.  
  228. END SUB
  229.  
  230.  
  231.  
  232. '**
  233. '** Purpose:
  234. '**     Appends a file name to the end of a directory path,
  235. '**     inserting a backslash character as needed.
  236. '** Arguments:
  237. '**     szDir$  - full directory path (with optional ending "\")
  238. '**     szFile$ - filename to append to directory
  239. '** Returns:
  240. '**     Resulting fully qualified path name.
  241. '*************************************************************************
  242. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  243.     IF szDir$ = "" THEN
  244.         MakePath = szFile$
  245.     ELSEIF szFile$ = "" THEN
  246.         MakePath = szDir$
  247.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  248.         MakePath = szDir$ + szFile$
  249.     ELSE
  250.         MakePath = szDir$ + "\" + szFile$
  251.     END IF
  252. END FUNCTION